package com.ruoyi.web.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 提现记录对象 withdrawal_record
 * 
 * @author ruoyi
 * @date 2023-01-05
 */
public class WithdrawalRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 来源地址 */
    @Excel(name = "来源地址")
    private String sourceAddress;

    /** 到账地址 */
    @Excel(name = "到账地址")
    private String arrivalAddress;

    /** 交易哈希 */
    @Excel(name = "交易哈希")
    private String transactionHash;

    /** 状态（1：审核中，2：提现中，3：已完成，4：已拒绝，5：已失败） */
    @Excel(name = "状态", readConverterExp = "1=：审核中，2：提现中，3：已完成，4：已拒绝，5：已失败")
    private String state;

    /** 数量 */
    @Excel(name = "数量")
    private BigDecimal quantity;

    /** 手续费 */
    @Excel(name = "手续费")
    private BigDecimal serviceCharge;

    /** 实际提现金额 */
    @Excel(name = "实际提现金额")
    private BigDecimal actualWithdrawalAmount;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 公链 */
    @Excel(name = "公链")
    private String publicChain;

    /** 币种 */
    @Excel(name = "币种")
    private String currency;

    /** 审核备注 */
    @Excel(name = "审核备注")
    private String remarks;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setSourceAddress(String sourceAddress) 
    {
        this.sourceAddress = sourceAddress;
    }

    public String getSourceAddress() 
    {
        return sourceAddress;
    }
    public void setArrivalAddress(String arrivalAddress) 
    {
        this.arrivalAddress = arrivalAddress;
    }

    public String getArrivalAddress() 
    {
        return arrivalAddress;
    }
    public void setTransactionHash(String transactionHash) 
    {
        this.transactionHash = transactionHash;
    }

    public String getTransactionHash() 
    {
        return transactionHash;
    }
    public void setState(String state) 
    {
        this.state = state;
    }

    public String getState() 
    {
        return state;
    }
    public void setQuantity(BigDecimal quantity) 
    {
        this.quantity = quantity;
    }

    public BigDecimal getQuantity() 
    {
        return quantity;
    }
    public void setServiceCharge(BigDecimal serviceCharge) 
    {
        this.serviceCharge = serviceCharge;
    }

    public BigDecimal getServiceCharge() 
    {
        return serviceCharge;
    }
    public void setActualWithdrawalAmount(BigDecimal actualWithdrawalAmount) 
    {
        this.actualWithdrawalAmount = actualWithdrawalAmount;
    }

    public BigDecimal getActualWithdrawalAmount() 
    {
        return actualWithdrawalAmount;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setPublicChain(String publicChain) 
    {
        this.publicChain = publicChain;
    }

    public String getPublicChain() 
    {
        return publicChain;
    }
    public void setCurrency(String currency) 
    {
        this.currency = currency;
    }

    public String getCurrency() 
    {
        return currency;
    }
    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("sourceAddress", getSourceAddress())
            .append("arrivalAddress", getArrivalAddress())
            .append("transactionHash", getTransactionHash())
            .append("state", getState())
            .append("quantity", getQuantity())
            .append("serviceCharge", getServiceCharge())
            .append("actualWithdrawalAmount", getActualWithdrawalAmount())
            .append("userId", getUserId())
            .append("publicChain", getPublicChain())
            .append("currency", getCurrency())
            .append("remarks", getRemarks())
            .toString();
    }
}
